home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 June: Reference Library / Dev.CD Jun 99 RL Disk 1.toast / Technical Documentation / Macintosh Technotes and Q&As / technotes / tn / tn_1048.cw < prev    next >
Encoding:
Text File  |  1998-04-27  |  41.9 KB  |  450 lines  |  [TEXT/R*ch]

  1. ıBOBOLà|dHZHZHZ‹
  2. Lfi,ÿÿHLfi0ÂB àÿÿLàpÿ-ZÿÿÿFrederique Courard HaurixHHÚ(ÿáÿâùFG(üHHÚ(d'`Δ•ÿÿN0‹∫là/ÀU(Lfi4L†Z
  3. Z
  4. LÜX(UILÍÿ›NR›]Ñâ Lfi<! ÿÿÿÿÿÿÿÿ(_gDSET<:TòLfi LfiLfiL†d°PLà•H°PLÜ &7l°PLÜΔ'Ft°PL܉*L#6°PLÜ•#L*ø°PLÜ‹$F4=°P"B W Ä  Æ-Ò ¬ =33÷68;7;8@
  5. 6
  6. ";
  7. Ç; o;
  8. m;
  9. n;l@^@∫;4;;6-;È;œ;©;6?;@º@fzkz Ÿ6 ˇ;"R;#6;%
  10. H%H%H%;%ÒW%éz&’z&flW'z'}z(œz)qz)rz)¨z*œz+Úz,hW,™z.†@/u/˝z1¢W1Ãz2Nz36z3fiW3ïS5ˇS7ŸS7ÕW7ïS9cS9dh9lS;W;%o;@o;Ÿo;’o;èu;øz X&àFàOàÊàQVJW
  11. *v
  12. à)˛
  13. *Ñ
  14. *i
  15. *T
  16. +k
  17. *k
  18. +≠
  19. *ÆÓÒ
  20. *=
  21. 4ֈ8
  22. E8
  23. àKB
  24. A    \    l
  25. A    ƒ    ¯
  26. A
  27. à
  28. "
  29. E Åd Ì
  30. E Öd Ü
  31. E ød 
  32. E
  33. Dd
  34. K
  35. E
  36. n
  37. àU
  38. t
  39. E
  40. d
  41. ¥
  42. E
  43. ®d
  44. ¿
  45. El
  46. àKv
  47. A^àY∫
  48. EÜdì
  49. Eöd
  50. E8dH
  51. Eà-
  52. E6dF
  53. EPdb
  54. Eddj
  55. Eà?
  56. E¢d”
  57. EπdÑ
  58. EÓdÙ
  59. E
  60. àK…
  61. Aìó
  62. A.
  63. A˚¯
  64. Aº
  65. àKÄ
  66. AÉÙ
  67. Añ
  68. A
  69. Aâó
  70. Af
  71. |…f˚
  72. |Œf¡
  73. |.f>
  74. |ÄfÔ
  75. |ùf     
  76. | Ÿà ˇ
  77. E%
  78. %Ó%
  79. E%ÒàZ%é
  80. |%üf&
  81. |&f&
  82. |&!f&,
  83. |&.f&B
  84. |&Gf&Q
  85. |&yf&∞
  86. |&Œf&
  87. |&ñf&û
  88. |&fl à '
  89. |'f'0
  90. |'2f'<
  91. |'Bf'R
  92. |'^f'd
  93. |'¬f'±
  94. |(’f(Ë
  95. |(Íf(◊
  96. |(Üf(ì
  97. |)q
  98. )rà^)‰
  99. à)§à^)¨
  100. |)Úf)í
  101. |*f*'
  102. |*Sf*i
  103. |*œf*’
  104. |*áf*ö
  105. |+f+3
  106. |+Sf+k
  107. |+zf+Ÿ
  108. |+„f+œ
  109. |+Ú
  110. àj+à
  111. |,f,
  112. |,;
  113. D,R
  114. |,hàZ,™
  115. |,çf,‡
  116. |-◊f-í
  117. |.†
  118. àK.ã
  119. A/$/:
  120. A/ à`/˝
  121. |/¢f/¸
  122. |/Üf/é
  123. |0
  124. D0/
  125. |0Ef0R
  126. |0f0¢
  127. |0í
  128. D1
  129. |1f1*
  130. |1Ω
  131. 1‘
  132. |1¢àZ1±
  133. àa1∏àZ1Ã
  134. |2s
  135. 2|
  136. |2Œf2ˇ
  137. |3fiàZ3ï
  138. e6∫k6Δ
  139. e6Æk6‹
  140. e7
  141. =7
  142. 97
  143. e7ık7ª
  144. e7ÕàZ7ï
  145. e7ûk8
  146. e8k8 
  147. e8†
  148. w9b
  149. e9dÓ"9l
  150. e:Ck:J
  151. e:Ok:_
  152. e;àZ;%q;'
  153. r;>
  154. s;@q;B
  155. s;Ÿq;∂
  156. â;¸ ä;’q;»
  157. â;ç
  158. s;è à`;ø
  159. |ÒLfiLfi&ÑLfi÷ÉL†üÀ)L†ø é+L†ô¢L†›¶ÜL†ì‚…L†è≈L†ä¥^L†à∏L†Ü!ÀML†Ø%
  160. ñL†Ô&flHL†‹*FGL†Ì-ŸòL†x/îL†t3m¯L†p6ëL†l94L†h
  161.  
  162.  
  163. › 
  164. T E C H N O T E :
  165. Some Sound Advice:
  166. Getting the Most Out of the 
  167. Sound Manager
  168.  
  169. By Mark Cookson and Ray Chiang
  170.    
  171.   
  172. Apple Developer Technical Support (DTS)
  173. This Technote discusses issues that you need to be aware of if you are developing apps that use more than basic Sound Manager calls. The information in this Technote has been gleaned from a number of developer questions fielded by DTS, and focuses on issues that arise when dealing with sound input and sound output.
  174. The information in chapters 2 and 3, ÒSound ManagerÓ and ÒSound Input Manager,Ó in Inside Macintosh: Sound is still accurate, but changes and new features require new documentation which this Technote is part of. This Technote covers information not found in the release notes for Sound Manager 3.0, 3.1, and 3.2. This Technote also clarifies the information in Inside Macintosh: Sound and points out how you can use the Sound Manager more efficiently.
  175. Input Items
  176. Over the last three years, in answering developer questions about the Sound Manager,Ñ DTS has gained some new insights into the Sound Manager's inner workings. In this section of the Technote, we share those insights. 
  177. On the surface, sound input appears to be programmatically similar to sound output. This, however, is not true. There are two reasons for this: 
  178.     1.    Sound input is still based on an old-fashioned driver model. 
  179.     2.    Sound output has been Òmodernized,Ó beginning with Sound Manager         3.0, and uses the Component Manager extensively.
  180. ÉOne Source of Input Problems: Different Hardware Implementations
  181. Input problems can arise because of variations in sound input hardware from one machine to another. For example, a Macintosh Quadra 700 has 8-bit sound input while a Power Macintosh 7200 has 16-bit sound input. The contrast, however, is more subtle because a 7200 defaults to recording stereo 16-bit sound instead of 8-bit mono sound like the 700. Furthermore, even though the Quadra 840AV and most Power Macs support 16-bit sound, the 840AV supports many more and different sample rates than most Power Macs. 
  182.  
  183. Important: DonÕt assume that the default settings of the selected sound input device are what youÕre expecting or what theyÕve been on p)revious Macs or previous versions of the Sound Manager. Make sure that you set the input state to exactly what you want before you begin recording. Use the SPBSetDeviceInfo function to set the recording parameters. Use the SPBGetDeviceInfo function to make sure that the sound will be recorded exactly as you want it to be. 
  184. Simultaneous Play-and-Record
  185. Simultaneous play-and-record is the act of recording one sound while playing another sound at the same time. This is a feature commonly requested in speaker phones.
  186. Not all Macintosh computers can simultaneously play and record sound ‹‹ e.g., a PowerBook Duo 280c cannot play and record at the same time, while the Quadra 840AV can.
  187. To determine if a particular Mac can play and record simultaneously, you need to call Gestalt with the 'snd ' selector and+ check for the gestaltPlayAndRecord bit being set. If this bit is not set and you are recording a sound, you will not be able to play a sound until the recording finishes. Likewise, if you are playing a sound, recording is not possible either. What this means to you is that if your application requires this functionality, you will need to check Gestalt and take the appropriate action.
  188.  
  189. Note: Turning on the level meter (with SPBSetDeviceInfo and the siLevelMeterOnOff selector) is recording without saving the data. Therefore, for machines that cannot play and record simultaneously, the level meter must be off before you can play sounds.
  190. Important: Power Macintosh computers can only do simultaneous play and record if both the input and output channels are set to the same rate ‹‹ for example, 22.050 KHz.¢ If you require this, make sure that input and output rates are the same.
  191. Variations on Input Sample Rate Support
  192. Don't assume that all Macs support the same input rates, and don't assume that they default to the same rates either. Even similar Macs can have very different capabilities.
  193. There are variations in the input sample rates supported by different Macintosh computers. For example, the number of input rates supported by a Power Macintosh 7100 is two, while the number of input rates for a Power Macintosh 7500 is three, and a Quadra 840AV has seven. The Power Macintosh 7100 rates are 22.050 KHz and 44.1 KHz; the Power Mac 7500 also supports 11.025KHz; the Quadra 840AV rates includes those, plus an additional two ‹‹ 24 KHz and 48 KHz.
  194. For most developers, and users, this is not an issue unless you have hard-coded in a particular sample rate. If this is the case, then you should rewrite your code to be more flexibÜle in its choice of sample rates. Use SPBGetDeviceInfo with the siSampleRate selector to find the rate you like best and then use SPBSetDeviceInfo to set that rate. If you can't get a needed sample rate you require, you can use Sound Manager 3.2's conversion routines to convert between the rate you can get and the rate that you need.
  195. Having the Correct Buffer Size Matters
  196. Sound recording works best if the buffer you are recording into is sized to be an integer multiple of… the size of the recording deviceÕs interrupt buffer.
  197. After youÕve set up the recording parameters, specifically mono versus stereo, and 8 bit versus 16 bits, call SPBGetDeviceInfo with the siDeviceBufferInfo ('dbin') selector to find the size of the machineÕs input buffer. 
  198. After determining the size, multiply this number by some integer of your choosing to size your applicationÕs recording buffer. This way, at interrupt time you are copying whole buffers, and you and the Sound Manager donÕt have to worry about partial buffers.
  199. This helps to optimize how the Sound Manager moves data out of the recording hardware and is a speed optimization.
  200. ≈Variations in Sound Input Hardware
  201. The sound input hardware on all Power Macintosh 5200/5300/6200/6300 computers was changed during its lifetime. Some of these Macs can only record 8-bit sounds, while others can also record 16-bit sounds. The machine you have in your lab will be one or the other of these; you need to make sure that you write code that will work on both. To this end, use SPBGetDeviceInfo with the siSampleSizeAvailable ('ssav') selector to find out what bit depth the Mac you are running on is capable of recording sounds at, or better yet, write code that doesn't care what the bit size is.
  202. Important: There are sound hardware differences among these four classes of machines: the Power Macintosh 5200/5300/6200/6300 computers. Just because these are Power Mac machines, you should not assume that all contain 16-bit input and output hardware. For example, the Macintosh Performa 5215C^D contains both 16-bit input and output hardware. However, if you call Gestalt on that particular machine, it returns gestalt16BitSoundIO not set (i.e., false), this is incorrect. You should instead check the available sample sizes by using the siSampleSizeAvailable selector.
  203. Important: The siActiveChannels selector used with the SPBGetDeviceInfo and SPBSetDeviceInfo calls is not supported on the Power Macintosh 5200/5300/6200/6300 series Macintoshes, and may not be supported on other current or future Macintosh models. If you make this call and it returns the error siUnknownInfoType, then you know that this selector is not supported. Don't panic: you will be recording always from both channels.
  204. On PCI Power Macintoshes, using the siActiveChannels selector with a value of 0x01 or 0x02 (which would turn on only the left or right channel, respectively)∏ does not work before System 7.5.3. If you are on a PCI Power Mac running system 7.5.2, the Sound Manager version does not matter: do not set siActiveChannels to anything but 0x03, which is the same as leaving it at its default. If you are on a PCI Power Mac running 7.5.3 or later, you can use the siActiveChannels selector and set it to 0x01, 0x02, or 0x03.
  205. If you need to record from only one channel of an input source on a stereo Macintosh and siActiveChannels is not available, record in stereo (siNumberChannels set to 2) and have your buffer routine only copy out the desired channel. This is the most effective and memory-frugal workaround.
  206. Portable Issues
  207. The PowerBook 5300 does not support microphone level input as most other Macs do. That 1/8" jack in the back that looks suspiciously like a microphone jack isn't ‹ it's a line input jack. The PowerBook 5300 requires line-level input to record sounds from this jack, such as the input levels Mthat are carried on RCA type jacks. Some Macintoshes shipped with an RCA-to-microphone level adapter, but this wonÕt work on the PowerBook 5300. 
  208. YouÕll need to buy a RCA-to-mini 1/8Ó jack to get sound into a PowerBook 5300 if you don't want to use the built in microphone. Recording must be done from a source that outputs line level signals, such as a standard CD player.
  209. The PowerBook Duo 2300's sound hardware is capable of recording stereo sound, but since its built-in microphone only records in mono, and the 2300 doesnÕt have a line-in jack, you have to connect it to an external Duo Dock to get line-in input. The current Apple Duo Docks that provide sound input jacks only provide mono input connectors. Unless a third party makes a dock with a stereo sound input jack, there just isnÕt a way to get from hear (pun intended) to there.
  210.  
  211. Output Items
  212. Sound Managers version 3.0 and later extend the capabilities of the output of sound, offering 16-bit sound and better sample rates along with more a flexible component architecture.
  213. Return the Right Thing
  214. If you are calling SndSoundManagerVersion, MACEVersion, MIDIVersion, SpeechManagerVersion, or SPBVersion, make sure that the return types are a NumVersion instead of a long. Change your headers if necessary.
  215. These are currently the only calls that should return a NumVersion. 
  216. HTrouble with Void Pointers 
  217. The SetSoundOutputInfo, SndSetInfo, and SPBSetDeviceInfo all take a void* as their last parameter.
  218. Because the last parameter of these calls is a void*, it looks as if you need to pass a pointer to the value you are setting, but this is not the case if what you are passing is 4 bytes or less in size. If you are passing a parameter that is larger than four bytes, you must pass a pointer to it.
  219. If you are calling GetSoundOutputInfo, SndGetInfo, or SPBGetDeviceInfo and it is returning a value that is 4 bytes in size or less, it does not return a pointer to that value, it just returns the value.
  220.  
  221. Playing a Compressed 
  222. Sound Using SndPlayDoubleBuffer
  223. Beginning with Sound Manager 3.0, if youÕre using SndPlayDoubleBuffer to play sounds, you need to use the SndDoubleBufferHeader structure for uncompressed souGnds. Use the SndDoubleBufferHeader2 structure to play both compressed and uncompressed sounds. 
  224. SndPlayDoubleBuffer takes a pointer to a structure of type SndDoubleBufferHeader. To play a compressed sound using the SndDoubleBufferHeader2 structure, simply cast it to a SndDoubleBufferHeaderPtr when you call SndPlayDoubleBuffer. The SndPlayDoubleBuffer function is ÒsmartÓ enough to figure out the rest.
  225. Note: Starting with Sound Manager 3.0 SndPlayDoubleBuffer is able to play 16 bit sounds. See the SndMgr 3.0 release note for more information
  226. Too Much of a Good Thing
  227. Some applications may be calling some Sound Manager calls more often than they need to, specifically, GetDefaultOutputVolume. Some applications call this function in their main event loop when this is probably not necessary. Sound volume levels rarely change ten or moòre times a second ‹‹ in fact, they rarely change. The proper time to call GetDefaultOutputVolume is right before you go to play a sound to see if you need to adjust the output deviceÕs volume, or to adjust the input or output gain of a device. This saves you a little time in your event loop and may make your application a bit faster.
  228. Note: You probably shouldnÕt be changing the output volume, making the GetDefaultOutputVolume unnecessary. Take the userÕs word for the output volume they want. 
  229. îTrouble with Bits and Bytes
  230. In the SndDoubleBufferHeader2 structure, there is a field called dbhSampleSize which is the sample size in bits of the sound. Inside Macintosh:Sound page 2-111 says that dbhSampleSize should be set to 0 if the sound is compressed. This is incorrect: dbhSampleSize should always be set to the actual uncompressed sample size of the sound. Inside Macintosh:Sound page 2-112 says that the dbhPacketSize field needs to be set to the number of bits per packet; it needs to be set to the number of bytes per packet, however.
  231. Outta TimeÑThe kNonRealTime Flag
  232. This only applies to those developers who are writing sound output components. It is expected that all sound components work in real time.
  233. Beginning with Sound Manager 3.1 the kRealTime flag was renamed to kNonRealTime. This flag tells the Sound Manager that your sound component can also work in non-real time, i.e., it can do a better job if only given the extra time.
  234. This means that when the component is part of a QuickTi¯me output chain or a Sound Manager 3.2 conversion chain, it can take the extra time it needs to do a better job.
  235. Hold That Memory
  236. Because we expect sound to occur in realtime, smoothly and without hiccups or gaps, if you turn on Virtual Memory (VM), youÕre going to experience problems. When VM pages it turns off interrupts for a long period of time and without interrupts enabled, the Sound Manager is not able to service the sound hardware. If interrupts are disabled for too long, the sound will stop playing and then resume when VM re-enables interrupts.
  237. You want to make sure that VM at least never pages out your sound's buffers. Even if it doesn't page out your buffers, this wilël not assure you that sound will play uninterrupted, but it is the best that you can do. To this end, use HoldMemory to hold the memory that your sound's buffers are in. HoldMemory is explained in the chapter ÒVirtual MemoryÓ in Inside Macintosh: Memory. Macintosh Technical Note ME 09 has valuable information about how to deal with VM and the limitations it imposes.
  238. Be sure you call UnholdMemory on each block when you are done with it. 
  239. Why Caching is Not Useful
  240. Setting the noCacheBit (which is defined in FSM.h) to disable caching of reads when youÕre reading a sound from disk is a good idea. Since many sounds are larger than will fit into the cache, and most sounds are only played once, caching them is of no benefit and not worth the ov4erhead. Refer to Macintosh Technical Note FL 16 for information on how to use this feature.
  241.  
  242. Summary
  243. Because there are real hardware differences among various Macintosh computers, you may not be taking full advantage of sound in your application. To avoid sound input and output problems, your app needs (1) to call Gestalt and SPBGetDeviceInfo to determine what features and capabilities are present in both the hardware and the Sound Manager, and (2) to pay attention to the topics and issues addressed in this Technote. 
  244. Further Reference
  245. n    Inside Macintosh: Sound 
  246. n    The Sound Manager 3.0, 3.1, and 3.2 Release Notes on Developer CD Series. 
  247. n    ME 9 - Coping With VM and Memory Mappings
  248. n    FL 16 - File Manager Performance and Caching
  249. Acknowledgments
  250. Thanks to Tom Maremaa, Jim Reekes, Sunny Singha, and Bob Wambaugh.ZÿÿN°DSET≠ÿÿ.H
  251. ,ÿÿÿÿÿÿGó°√Úf˛¸°ÿÿ6ÿÿ*Úf˛DSETØÿÿ.HX(PL*+ÿÿÿÿÿÿL†`˛P°ÿÿ√ذÿÿ`°ÿÿ˘    è°ÿÿ
  252.   p°ÿÿ ¨ø°ÿÿ0•°ÿÿQ√°ÿÿÙ°ÿÿa˘°ÿÿ    é
  253.  °ÿÿ q ¨°ÿÿù0°ÿÿ™¸°ÿÿ6ÿÿ*Úf˛DSET≠ÿÿ.H
  254. "ÿÿÿÿÿÿL†\Úf˛7°ÿÿ\ÿÿ*Úf˛°74°74°7    4°7
  255. 4°7 4°7 4°7
  256. 4DSETT@•™L†LL†XL†TL†P°7LÜπ5 ™$ /"    à0™ / y[ˇP[¥ΔWWl≤[¡‰
  257. ≠L†H≠
  258.  
  259. Technote 1048    ///          Release 1.0       © 1996   Apple Computer, Inc.      ///              ///          Page  of  7
  260. FNTMCUTSDSUM1Frederique Courard HauriHDNISTYLdÊÿÿ@STYLL†8L† L†4L†,L†$L†L†L†fÃÿÿ∏
  261. ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
  262. ÿÿÿÿI
  263. ÿÿÿÿ
  264. ÿÿÿÿ
  265. ÿÿÿÿÿÿÿÿÿÿ    ÿÿÿÿ        ÿÿÿÿÿÿ
  266.      ÿÿ6ÿÿÿÿ $    ÿÿ7ÿÿÿÿ *ÿÿ !ÿÿÿÿ
  267. +ÿÿ ÿÿÿÿ-    ÿÿ8ÿÿÿÿ3    ÿÿ9ÿÿÿÿ4ÿÿ3!ÿÿÿÿ
  268. 6    ÿÿ:ÿÿ
  269. :;    ÿÿ6ÿÿÿÿ%@    ÿÿ;ÿÿÿÿAÿÿ@!<ÿÿ Eÿÿ;!ÿÿH    ÿÿ8ÿÿS    ÿÿ6ÿÿW    ÿÿ:ÿÿ eÿÿS!ÿÿh    ÿÿ8ÿÿÿÿo    ÿÿ?ÿÿÿÿqÿÿo/ÿÿÿÿrÿÿo/ÿÿÿÿsÿÿo!/ÿÿÿÿu    ÿÿ>ÿÿx z    ÿÿ6ÿÿ5!|ÿÿz!ÿÿÿÿ"
  270. ÿÿÿÿI# ÿÿÿÿ$ÿÿ        ÿÿ%ÿÿ
  271. 
  272. ÿÿ&ÿÿ  ÿÿ'ÿÿÿÿ
  273.  ÿÿ(ÿÿÿÿ
  274. 
  275. ÿÿ)ÿÿÿÿ
  276. ÿÿ%*‹ÿÿÿÿÿÿ+!0ÿÿÿÿ,#0ÿÿÿÿ-%0ÿÿÿÿ.'0#ÿÿÿÿ/(0#ÿÿÿÿ0,0#    ÿÿÿÿ1.0#
  277. ÿÿÿÿ210# ÿÿÿÿ320# ÿÿÿÿ450!
  278. ÿÿÿÿ570!ÿÿÿÿ6:0%ÿÿÿÿ7<0%ÿÿÿÿ%8>‹ÿÿÿÿÿÿ9?0>>ÿÿ,:B0>>ÿÿ-;C0>>ÿÿÿÿ<G0>Bÿÿ/=I0>Bÿÿ0>L0>B    ÿÿ1?M0>B
  279. ÿÿ2@N0>B ÿÿ3AP0>B ÿÿÿÿBR0>?&ÿÿÿÿCT0>?'ÿÿÿÿDV0>C(ÿÿ7EX0>Cÿÿÿÿ%F[‹ÿÿÿÿÿÿG\0[[)ÿÿÿÿH]0[[*ÿÿÿÿI_0[[*ÿÿÿÿJb0[]+ÿÿÿÿKc0[],ÿÿÿÿLg0[],    ÿÿÿÿMi0[],
  280. ÿÿÿÿNl0[], ÿÿÿÿOm0[], ÿÿÿÿPn0[\-ÿÿÿÿQp0[\-ÿÿÿÿRt0[_+ÿÿÿÿSv0[_,ÿÿÿÿ%Ty‹ÿÿÿÿÿÿU{0yy.ÿÿÿÿV}0yyÿÿÿÿW~0yyÿÿÿÿX0y}/    ÿÿÿÿY•0y}ÿÿÿÿZ™0y}     ÿÿÿÿ[≠0y}!    ÿÿÿÿ\∞0y}"    ÿÿÿÿ]≥0y}#    ÿÿÿÿ^∑0y{0$
  281. ÿÿÿÿ_∫0y{0%
  282. ÿÿÿÿ`Ω0y~&    ÿÿÿÿa√0y~'ÿÿÿÿ%b≈‹ÿÿÿÿ(ÿÿc…0≈≈1)ÿÿÿÿd—0≈≈*ÿÿÿÿe‘0≈≈+ ÿÿÿÿfŸ0≈—,ÿÿÿÿg⁄0≈—-ÿÿÿÿh∂0≈—.ÿÿÿÿiΔ0≈—/ÿÿÿÿjŒ0≈—0ÿÿÿÿk‚0≈—1ÿÿÿÿl„0≈…26
  283. ÿÿÿÿm‰0≈…27
  284. ÿÿÿÿn0≈‘(4
  285. ÿÿÿÿoˆ0≈‘5
  286. ÿÿÿÿp˜‹ÿÿÿÿ(ÿÿq˘0˜˜) ÿÿdr˙0˜˜*ÿÿÿÿs˚0˜˜2ÿÿÿÿt˝0˜˙,ÿÿÿÿu˛0˜˙3ÿÿÿÿvˇ0˜˙8ÿÿÿÿwı0˜˙9ÿÿÿÿxƒ0˜˙:ÿÿÿÿy 0˜˘36
  287. ÿÿÿÿz¡0˜˚<ÿÿÿÿ{¢‹ÿÿÿÿ
  288. ;ÿÿ|£0¢¢4=ÿÿÿÿ}€0¢¢
  289. >ÿÿÿÿ~¥0¢€
  290.  ÿÿÿÿœ0¢€
  291. !ÿÿÿÿ•§0¢€
  292. "ÿÿÿÿ™¨0¢€
  293. #ÿÿÿÿ≠©0¢£5Aÿÿÿÿ∞ª0¢£5Bÿÿÿÿ≥«Øÿÿÿÿ
  294.     ÿÿ∑¬8««
  295.  ÿÿÿÿ∫–8««
  296.  ÿÿÿÿΩ®8««
  297. ÿÿÿÿ√¯8««
  298. ÿÿÿÿ≈°8««
  299. ÿÿÿÿ…±8««
  300. ÿÿÿÿ—”8««
  301. ÿÿÿÿ‘“8««
  302. ÿÿÿÿŸ´8««
  303. ÿÿÿÿ⁄µ8««
  304. ÿÿÿÿ∂¶8««
  305. ÿÿÿÿΔ·8««
  306. ÿÿÿÿŒ¸Øÿÿÿÿ6ÿÿ‚’8¸¸7ÿÿÿÿ„º8¸¸8 ÿÿÿÿ‰»8¸¸9!ÿÿÿÿπ8¸¸:"ÿÿÿÿˆ∏8¸¸:#ÿÿÿÿ˜≤8¸¸:%ÿÿÿÿ˘¿8¸¸:&ÿÿÿÿ˙À8¸¸:'ÿÿÿÿ˚Á8¸¸:(ÿÿÿÿ˝Â8¸¸:)ÿÿÿÿ ˛ÃØÿÿÿÿ
  307. +ÿÿˇÄ8ÃÃ
  308. ,ÿÿÿÿıÅ8ÃÃ
  309. -ÿÿÿÿƒÆ8ÃÃ
  310. .ÿÿÿÿ Ç8ÃÃ
  311. 0ÿÿÿÿ¡È8ÃÃ
  312. 1ÿÿÿÿ ¢    ÿÿ
  313. ÿÿÿÿ£    ÿÿ#ÿÿ£€/ÿÿ#ÿÿÿÿ¥0ÿÿ$ÿÿÿÿœËÿÿ$>ÿÿ!§wÿÿS!ÿÿÿÿ¨&ÿÿ 
  314. ÿÿÿÿ©Jÿÿ=
  315. ÿÿªâÿÿo!/ÿÿÿÿ«äÿÿo/ÿÿÿÿ¬
  316. HOÿÿ¬–
  317. 
  318. zOÿÿÿÿ®ÿÿzÿÿÿÿ¯ÿÿzÿÿÿÿ°9ÿÿSÿÿ
  319. ±=ÿÿSÿÿ±”Dÿÿzÿÿÿÿ“-ÿÿÿÿ´
  320. 6ÿÿÿÿµFÿÿ
  321. ÿÿÿÿ¶Oÿÿ"
  322. ÿÿÿÿ·Qÿÿ%
  323. ÿÿÿÿ¸)ÿÿ ;ÿÿÿÿ’Kÿÿ@<<ÿÿÿÿºUÿÿ;<ÿÿ´»Y
  324. @ÿÿ“πHÿÿ»∏Z
  325. Wÿÿ∏≤^
  326. zÿÿÿÿ¿ z?ÿÿÿÿÀjÿÿz@ÿÿÿÿÁ`uAÿÿÁÂ WAÿÿ¿Ãa
  327. WÿÿπÄ"hÿÿÿÿÅd ; ÿÿÅ
  328. Æ @ ÿÿÆ'Çf z ÿÿÇÈk S ÿÿÿÿÉÊÿÿB
  329. ÿÿú§ÿÿHASH‘
  330. $Ú àù$ô◊‘bôؑpÑÛÔ8ÑÛÔFà"ÔÎ(á´fiãã%8◊{ãµÕáTêä"ëå&&
  331. & –
  332. Â ≤    &
  333.         øÄ &È Ã®,¯¯,§¯,2°° º° À°,"®°,3”± "¸2©2¨ ¶·µ É,  x2 ¢,ˇQıvƒ˝ À¡,∑Q∫vΩ˝√À≈å…. 
  334. —/‘TŸy⁄ı∂ÃΔ,8‚QI„v4‰˝5À5ˆå5˜    
  335. 5˘    /5˙    T5˚    y5˝ ˆ≥ì« ˆ≥îª ˜∑ ˙≥ì
  336. ∞≥ì
  337. ¯,P
  338. ° P’(,N:=>?@AE06O^P_C4U5øB C    0L    1M    2N    3OCyJlKm    (H
  339. GD    5<y·Ry˝PÙ?QÙ    HSù.ù;ùBJù    $Iù    3K‡JU‡>+‡ Ecÿ>qGï9}-Z.[/\0]F``X/h0i1j2k0oJn&Y.a
  340. "V
  341. #W
  342. $r
  343. %s•™~*≠…”∞ûHz‡/g‡9w‡:x‡1t‡7u‡8v‡Dffl0|'e & 0& $˜xΩ%≥x∑A& €A
  344. 7¥L: Qf+ œfx& f¸egŒh“çm)h’ÑÚj–◊alq”º#r§él'r”◊a%t“◊Şz«áoz¶ÕÄ*}Bod}©ÓÖ≥VPC 
  345. CHARL†0ÿÿÿÿ ÿÿ ÿÿÿú    ÿÿÿfl ÿÿ ÿÿÿû
  346. ÿÿ•ÿÿ ÿóàÿÿÿúÿÿ
  347. ÿòÓ'ÿØ
  348. ÿÿÿÿÿ÷ àÿÿÿÿ
  349. ÿÿ"
  350. ÿÿÿÿ
  351. ÿÿ'ÿÿ
  352. (
  353. '
  354. ÿÿ%
  355.     ÿÿÓÿÿ
  356. ÿÿ     ÿÿÿÿÿÿÿéÿÿ"ÿ† ÿÿ&ÿÿ
  357. ÿÿÿÿ
  358. ÿÿàÿÿ ÿ÷à?ÿú
  359. àÿÿÿÿÿÿ    ÿÿ
  360. ÿÿ ÿ÷àÿÿ ÿÿÿÿ"    àÿÿ ÿ÷à
  361.     ÿÿ
  362.     ÿÿ
  363.     ÿÿ.    ÿÿ
  364.     ÿÿ
  365. *
  366. 
  367.     )/    ÿÿ*
  368. 2
  369. ./
  370. ÿÿ        1        
  371. ÿÿ4ÿÿ&    ÿÿ&ÿÿ  ÿÿ&
  372. 6&    ÿÿÿ÷
  373. àÿÿ ÿ÷
  374. àÿÿÿÿÿÿ ÿÿÿÿ ÿó
  375. àÿÿ ÿÿ
  376. à ÿÿ àÿÿ ÿÿàDÿÿÿÿfló•
  377.     Eÿÿÿÿ ÿó
  378.     Fÿÿÿÿÿû
  379. Gÿÿÿÿ ÿÿ    Hÿÿÿÿÿÿ     Iÿÿÿÿ
  380. ÿ÷    Jÿÿÿÿ
  381. ÿó
  382.     Kÿÿÿÿflÿ•àLÿÿÿÿflÿ•
  383. Mÿÿÿÿflÿ•
  384.     Nÿÿÿÿÿ÷ÿÿÿÿÿÿ
  385. fl÷•#ÿ÷*/ÿÿHASH
  386. 5091:47E8≥"33:-;0D/&)'*+    ,    )2    *(     
  387. Oà Aà
  388. è8$
  389. 
  390. != 1>Óà
  391. "à
  392. <à@à%ààB!2à!; à     RC?
  393. CELLL†(πÿÿÿÿÿMÿÿÿ"ÿÿÿÿü
  394. ÿÿÿÿø
  395. ÿÿøÿÿÿÿÿÿÿÿÿÿ    ÿÿü
  396. ÿÿü
  397. ÿÿø
  398. ÿÿø
  399. ÿÿü
  400. ÿÿÿÿü
  401. ÿÿü
  402. ÿÿøÿÿøøÿÿÿÿÿÿÿÿx≥
  403. ÿÿØ$ ÿÿx• ÿÿØ 
  404. ÿÿÿÿÿÿÿÿÿÿ    ÿÿø
  405. ÿÿø ÿÿ ÿÿ
  406. ÿÿÿÿøÿÿÿÿûÿÿøÿÿøÿÿÿÿÿÿÿÿ    ÿÿÿÿøÿÿÿ ÿÿÿ
  407. ÿÿü
  408. ÿÿü ÿÿøÿÿøÿÿø    ÿÿÿÿø ÿÿø
  409. ÿÿ@ÿÿÿÿø
  410. ÿÿÿÿÿÿø ÿÿ(Ó
  411. ÿÿ√s Δ@ÿÿHASHÿ    
  412.       
  413. $ %
  414. 67(xŸx∂Ø1Ø3øøø    ø
  415. ø
  416. )ü ü >     
  417. ! " #&'
  418. ./01
  419. 45;*2*èA…‘Bú=ú
  420. -ú,ú<ú3ú8ú9ú:‡    + Æÿÿ
  421. GRPHL† ºÿÿÿÿÿMÿÿÿBÿÿÎÿÿ
  422. ÿÿÎÿÿ
  423. ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿ|ÿÿHASH
  424.     Ò
  425. Î   @ l
  426. RULRL†Æÿÿÿÿÿÿÿÿ‡@ÿÿ[ÿÿ $ÿÿÿ@ÿÿ $ÿÿ     $ÿÿÿÿiflÂB ÿÿÿÿÿÂB ÿÿ$ÿÿHÿÿiÿÂB ÿÿlÿÿΔÿÿÿbBÿÿ´ÿÿØÿÿÿÂBdÿÿÿÿÿÀbBÿÿüÿÿÿÿÿ˚ÿÿ ÿÿDÿÿÿbÿæNN. ˛˜›Δ°˛˚¶˛˚¶˛˜üΔ[Ú˛˚¶˛˘ΔpT˛˚¶∂ôV˛˘ΔX˛˘Δ˛˘,Δ°˛˚¶˛ÿÿ    h$ÿÿÿÿÿzBÿÿ
  427. ‘ÿÿ °ÿÿÿÿ$ÿÿHÿÿlÿÿΔÿÿ´*ÿÿÿÿÿbC  V.j.}.Δ.£.¶.Ê.†.›...*.=.P.c.v.….ˇ.°˛˚¶˛ÿÿØÿÿüÿÿ ÿÿDÿÿ    h2ÿÿÿÿÿjBÿÿÿÿ$ÿÿHÿÿlÿÿÿbÿôNN.j.}.Δ.£.¶.Ê.†.›...*.=.P.c.v.….ˇ.°˛˚¶˛ÿÿΔÿÿ´3ÿÿÿÿibBN.j.}.Δ.£.¶.Ê.†.›...*.=.P.c.v.….ˇ.°˛˚¶˛4ÿÿÿÿáÿJb•. ˛˜›Δ°˛˚¶˛˚¶˛˜üΔ[Ú˛˚¶˛˘ΔpT˛˚¶∂ôV˛˘ΔX˛˘Δ˛˘,Δ°˛˚¶˛5ÿÿÿÿaÿJ=ÿÿÿÿiÿªB<ÿÿiÿbBÿÿiÿÂBdÿÿaÿ˚ÿÿíÿbÿæNN. ˛˜›Δ°˛˚¶˛˚¶˛˜üΔ[Ú˛˚¶˛˘ΔpT˛˚¶∂ôV˛˘ΔX˛˘Δ˛˘,Δ°˛˚¶˛ÿÿiÿzBÿÿyÿbBB ÿÿÿbBB ÿÿÿÿÿÿéÿbC  V.j.}.Δ.£.¶.Ê.†.›...*.=.P.c.v.….ˇ.°˛˚¶˛ÿÿiÿjBÿÿíÿbÿôNN.j.}.Δ.£.¶.Ê.†.›...*.=.P.c.v.….ˇ.°˛˚¶˛N5ÿÿHASHÿœ
  428. 6o
  429. ÿ+,,0Q-v.˝0À10    ‡
  430. 8, Q v˝Àå
  431. /TyıÃ,Q v!˝"À#å%    
  432. &    /'    T(    y)
  433. 0 Ÿ`á/ z`á? œC<
  434. C;>':#⁄Tz${Tz9@ÿ@‡eeo7ÚåLKUP    "Â#–¬$¢%“&®'´π8Æ(¯)¿£*
  435. +Ä, -¨./¸
  436. 01€¥2345x°67±89:;”µ<=©’>?@¶A·BCºDE»∏FGH≤IÁÃJKÅÇLMÀÈNOPQRS§ÉT U!VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~•™≠∞≥∑∫Ω√≈…—‘Ÿ⁄∂ΔŒ‚„‰ˆ˜˘˙˚˝˛ˇıƒ ¡ÌÉœÍÎÏ‹ÑÒÓÔÕÖ◊ØÙÚÛ܆fißàáãªÿÿ«‰ÿÿ$NAMEDefault
  437. Default SSHeaderBodyFooterFootnoteFootnote Index
  438. HeadingH2.H2 Code.CV Heading1.H1Italic HeadingH3.H3Bullet    ChecklistNumberClassic> Blue Gray 1[ Blue Gray 2yColorful≈
  439. 3D Table 1˜
  440. 3D Table 2¢
  441. Accounting«Harvard¸LegalÃDiamondìÿÿDFNTM    HelveticaGenevaCourierPalatinoTimes:H
  442. Letter Gothic
  443. 
  444. Zapf DingbatsETBL@FNTMWôCUTSWüDSUMXHDNIX=STYLXGETBL§Kÿfl‡üûúùø›ñòóôõö÷
  445.